The present invention relates to digital cellular communication systems and more particularly to error correcting decoders employed in digital cellular base stations and mobile phones.
In cellular communication systems, encoding/decoding procedures are applied to transmitted voice and other data to reduce data errors. Prior to transmission from a mobile phone or from a base station, encoding is usually performed with either a block coding scheme or a trellis coding scheme.
In the prior art, the most common cellular system procedure for encoding messages at the sending end of the system is a two step procedure in which a message is first encoded using a cyclic redundancy code (CRC) as an outer code and then encoded using a trellis or block code as an inner code. At the receiving end of the cellular system, the message is decoded using the inner loop code to eliminate as many errors as possible through forward error correction (FEC).
The message is then decoded using the outer CRC code to detect whether any message errors still exist. The message is discarded if any error is detected. In this prior art approach, a message is successfully decoded if a maximum of ##EQU1## errors exist in unknown word locations.
The most common block coding scheme is the Reed-Solomon scheme which is best adapted for correcting burst data errors such as those that often occur in cellular communication channels as a result of Rayleigh fading. Trellis encoding is most commonly implemented by means of a convolutional scheme, and is best adapted for correcting random data errors. Each of these schemes has been variously embodied to limit data transmission errors in cellular communication systems.
To provide for error correction and detection in the Reed-Solomon scheme, data in a word to be transmitted is first encoded in an outer code commonly by a CRC encoder which generates CRC error detection bits. Parity bits are also generated to provide FEC in accordance with the Reed-Solomon procedure. The CRC and FEC bits are combined with the data bits in the word to be transmitted, such as from a mobile unit.
The received word is checked to determine whether the data bits received are the same as the data bits transmitted. For this purpose, the received word data is first passed through a Reed-Solomon decoder where FEC is applied. The Reed-Solomon output is then passed through a CRC encoder.
The resulting CRC code bits and the received CRC code bits are compared. If the compared CRC bits are the same, the data is accepted as valid. If a difference is detected, the received data is discarded as erroneous. Generally, a CRC encoder having a longer CRC code provides better error protection by making it less likely that a data error will go undetected.
Prior art decoders, employing Reed-Solomon or other block or trellis codes, have been limited in error protection performance as a result of limited error correcting capability. In addition, the amount of computer capacity required for implementation of the Reed-Solomon or other coding procedures respectively in prior art decoders has limited cost effectiveness and the cost/benefit ratio in providing error protection in cellular communication products.